<?php
// registrar scripts y css
add_action('admin_enqueue_scripts', 'registrar_cantidad_x_dimension_css_js', 10, 1);

function registrar_cantidad_x_dimension_css_js($hook) {

    if ($hook == 'parametros_page_cantidad_x_dimension') {
        wp_enqueue_script('cantidad_x_dimension-js', get_template_directory_uri() . '/js/parametros/cantidad_x_dimension.js');
        wp_enqueue_style('formularios-css', get_template_directory_uri() . '/css/formularios.css');

//estas son variables que puedo usar en los scripts
        wp_localize_script('cantidad_x_dimension-js', 'ajax_object', array('ajax_url' => admin_url('admin-ajax.php')));
    }
}

add_action('wp_ajax_guardar_cantidad_x_dimension', 'guardar_cantidad_x_dimension_ajax');

function guardar_cantidad_x_dimension_ajax() {
    global $wpdb;

    if ($_POST['mostrar_en_caja'] == 'true') {
        $mostar_en_caja = 1;
    } else {
        $mostar_en_caja = 0;
    }

    if ($_POST['mostrar_en_caja_general'] == 'true') {
        $mostrar_en_caja_general = 1;
    } else {
        $mostrar_en_caja_general = 0;
    }

//    SI TODO ES CORRECTO GUARDAMOS LOS CAMPOS
    $cantidad_x_dimension = array(
        'id_cantidad' => $_POST['id_cantidad'],
        'id_dimension' => $_POST['id_dimension'],
        'precio' => $_POST['precio'],
        'precio_promo' => $_POST['precio_promo'],
        'detalle' => $_POST['detalle'],
        'mostrar_en_caja' => $mostar_en_caja,
        'mostrar_en_caja_general' => $mostrar_en_caja_general
    );

    if ($_POST['id_cantidad_x_dimension'] != '') {//si ID != vacio significa que me llega un id por post para realizar una modificación
        $wpdb->update(cantidad_x_dimension, $cantidad_x_dimension, array('id_cantidad_x_dimension' => $_POST['id_cantidad_x_dimension']), array('%d', '%d', '%f', '%f', '%s', '%d', '%d'));
    } else {
        $wpdb->insert(cantidad_x_dimension, $cantidad_x_dimension, array('%d', '%d', '%f', '%f', '%s', '%d', '%d'));
    }

    mostrar_tabla_cantidad_x_dimension($_POST['id_dimension']);

    die();
}

add_action('wp_ajax_eliminar_cantidad_x_dimension', 'eliminar_cantidad_x_dimension_ajax');

function eliminar_cantidad_x_dimension_ajax() {
    global $wpdb;

    $wpdb->query("DELETE FROM cantidad_x_dimension WHERE id_cantidad_x_dimension = " . $_POST['id_cantidad_x_dimension']);

    mostrar_tabla_cantidad_x_dimension($_POST['id_dimension']);

    die();
}

add_action('wp_ajax_ver_lista_cantidad_x_dimension', 'ver_lista_cantidad_x_dimension_ajax');

function ver_lista_cantidad_x_dimension_ajax() {

    mostrar_tabla_cantidad_x_dimension($_POST['id_dimension']);
    die();
}

add_action('wp_ajax_mostrar_cantidad_x_dimension_x_producto', 'mostrar_cantidad_x_dimension_x_producto_ajax');

function mostrar_cantidad_x_dimension_x_producto_ajax() {
    global $wpdb;

    $dimensiones = $wpdb->get_results("SELECT id_dimension, nombre FROM dimensiones WHERE id_producto = " . $_POST['id_producto'] . " AND estado != 0 ORDER BY nombre ASC;");

    if ($dimensiones) {
        ?>
        <option value="0">Seleccionar..</option>
        <?php
        foreach ($dimensiones as $dimension) {
            ?>
            <option value="<?php echo $dimension->id_dimension; ?>"><?php echo $dimension->nombre; ?></option>
            <?php
        }
    } else {
        ?>
        <option>No posee dimensiones..</option>
        <?php
    }


    die();
}

add_action('wp_ajax_validar_cantidad', 'validar_cantidad_ajax');

function validar_cantidad_ajax() {
    global $wpdb;

    $dimensiones = $wpdb->get_results("SELECT id_cantidad_x_dimension FROM cantidad_x_dimension WHERE id_dimension = " . $_POST['id_dimension'] . " AND id_cantidad = " . $_POST['id_cantidad']);

    if ($dimensiones) {
        echo 'ERROR';
    }
    die();
}

//FUNCION QUE SE EJECUTA AL INGRESAR POR PRIMERA VEZ AL FORMULARIO
function mostrar_cantidad_x_dimension() {
    global $wpdb;
    ?>

    <div style="position: relative;">
        <div class="wrap" style="box-shadow: 0 0 2px 0 black; display: inline-block; margin: 10px; padding: 10px 80px 40px;">
            <?php mostrar_fomulario_cantidad_x_dimension(); ?>

            <div class="listado-cantidad_x_dimension">
                <div class = "icon32 icon32-bws" id = "icon-options-general"></div>
                <h2>Listado de Precios</h2>
                <br/>
                <table>
                    <tr>
                        <td><label>Seleccione un producto: </label></td>
                        <td><select class="productos" style="width: 300px;">
                                <?php
                                $productos = $wpdb->get_results("SELECT id_producto, nombre FROM productos WHERE estado != 0 ORDER BY nombre ASC");
                                ?>
                                <option value="0">Seleccionar..</option>
                                <?php
                                foreach ($productos as $producto) {
                                    ?>
                                    <option value="<?php echo $producto->id_producto; ?>"><?php echo $producto->nombre; ?></option>
                                <?php } ?>
                            </select></td>
                    </tr>
                    <tr>
                        <td><label>Seleccione una Dimensión: </label></td>
                        <td>
                            <select class="dimensiones" style="width: 300px;" disabled>
                                <option>Seleccionar..</option>
                            </select>
                        </td>
                    </tr>
                </table>
                <br/>
                <br/>
                <div class="lista" >
                    <?php mostrar_tabla_cantidad_x_dimension(0); ?>
                </div>

                <br/>
                <label class="agregar button-primary">+ Agregar</label>
                <br/><br/>
            </div>
        </div>
    </div>
    <?php
}

function mostrar_fomulario_cantidad_x_dimension() {
    global $wpdb;
    ?>
    <div id = "popup">
        <div class="close"></div>
        <div id="alta-cantidad_x_dimension">

            <div class="icon32" id="icon-options-general"></div>
            <h2>Precio</h2>
            <br/>
            <div class="error" style="display: none;"></div>

            <form method="post" action="admin.php?page=cantidad_x_dimension">
                <table>
                    <tr>
                        <td>ID:</td><td><input class="id_cantidad_x_dimension" type="text" size="6" disabled style="text-align: center; background-color: #F2F2F2;"/></td>
                    </tr>
                    <tr>
                        <td>Producto:</td><td><input class="producto" type="text" size="50" disabled style="background-color: #F2F2F2;"/></td>
                    </tr>
                    <tr>
                        <td>Dimensión:</td><td><input class="dimension" type="text" size="50" disabled style="background-color: #F2F2F2;"/></td>
                    </tr>
                    <tr>
                        <td>Cantidad: (*)</td><td><select class="cantidades" style="width: 150px; float: left;">
                                <?php
                                $cantidades = $wpdb->get_results("SELECT id_cantidad, cantidad FROM cantidades ORDER BY cantidad ASC");
                                ?>
                                <option value="0">Seleccionar..</option>
                                <?php
                                foreach ($cantidades as $cantidad) {
                                    ?>
                                    <option value="<?php echo $cantidad->id_cantidad; ?>"><?php echo $cantidad->cantidad; ?></option>
                                <?php } ?>
                            </select><div class="control-combo" style="display: none;"><img src="<?php bloginfo('template_url'); ?>/images/loader2.gif" alt="mensaje loader"/></div></td>
                    </tr>
                    <tr>
                        <td>Precio Tachado: (*)</td><td>$<input class="precio" type="text" size="29"/></td>
                    </tr>
                    <tr>
                        <td>Precio:</td><td>$<input class="precio_promo" type="text" size="29"/></td>
                    </tr>
                    <tr>
                        <td>Detalle:</td><td><textarea class="detalle" rows="3" cols="47" ></textarea></td>
                    </tr>
                    <tr>
                        <td>Mostar en Caja:</td><td><input type="checkbox" class="mostrar_en_caja"/></td>
                    </tr>
                    <tr>
                        <td>Mostar en Caja General:</td><td><input type="checkbox" class="mostrar_en_caja_general"/></td>
                    </tr>
                </table>

                <p class="submit">
                    <input type="button" name="guardar" class="guardar button-primary" value="Guardar" disabled />
                    <input type="button" name="cancelar" class="cancelar button-primary" value="Cancelar" />
                </p>
            </form>


        </div>
    </div>
    <div id="backgroundPopup"></div><?php
}

function mostrar_tabla_cantidad_x_dimension($id_dimension) {
    global $wpdb;
//$cantidad_x_dimension = get_option('cantidad_x_dimension');

    $cantidad_x_dimension = $wpdb->get_results(
            "SELECT  cant_x_dimen.id_cantidad_x_dimension, producto.nombre AS nombre_producto, dimension.nombre AS nombre_dimension, cantidad.id_cantidad,
            cantidad.cantidad, cant_x_dimen.precio, cant_x_dimen.precio_promo, cant_x_dimen.detalle, cant_x_dimen.mostrar_en_caja, cant_x_dimen.mostrar_en_caja_general
            FROM cantidad_x_dimension AS cant_x_dimen
            LEFT JOIN cantidades AS cantidad ON cantidad.id_cantidad = cant_x_dimen.id_cantidad
            LEFT JOIN dimensiones AS dimension ON dimension.id_dimension = cant_x_dimen.id_dimension
            LEFT JOIN productos AS producto ON producto.id_producto = dimension.id_producto
            WHERE cant_x_dimen.id_dimension = " . $id_dimension . " ORDER BY cantidad.cantidad ASC"
    );
    ?>


    <table class="tabla-precios" style="display: block; position: relative;">
        <tr class="cabeceras">
            <th style="width: 30px; text-align: center;">Nº</th>
            <th style="width: 30px; text-align: center;">ID</th>
            <th style="width: 200px;">Producto</th>
            <th style="width: 150px;">Dimensión</th>
            <th style="width: 70px;">Cantidad</th>
            <th style="width: 70px;">Precio Tachado</th>
            <th style="width: 70px;">Precio</th>
            <th style="width: 200px;">Detalle</th>
            <th style="width: 60px; text-align: center;">Mostrar en Caja</th>
            <th style="width: 60px; text-align: center;">Mostrar en Caja General</th>
        </tr>

        <?php
        if ($cantidad_x_dimension) {

            $i = 1;
            foreach ($cantidad_x_dimension as $cantidad_x_dimension) {
                ?>
                <tr>
                    <td class="t-nro" style="text-align: center;"><?php echo $i; ?></td>
                    <td class="t-id" style="text-align: center;"><?php echo $cantidad_x_dimension->id_cantidad_x_dimension; ?></td>
                    <td class="t-producto"><?php echo $cantidad_x_dimension->nombre_producto; ?></td>
                    <td class="t-dimension"><?php echo $cantidad_x_dimension->nombre_dimension; ?></td>
                    <td class="t-cantidad"><?php echo $cantidad_x_dimension->cantidad; ?><input type="hidden" value="<?php echo $cantidad_x_dimension->id_cantidad; ?>"/></td>
                    <td>$<span class="t-precio"><?php echo $cantidad_x_dimension->precio; ?></span></td>
                    <td>$<span class="t-precio-promo"><?php echo $cantidad_x_dimension->precio_promo; ?></span></td>
                    <td class="t-detalle"><?php echo $cantidad_x_dimension->detalle; ?></td>
                    <td class="t-mostrar_en_caja" style="text-align: center;"><?php
                        if ($cantidad_x_dimension->mostrar_en_caja == 1) {
                            echo 'Sí';
                        } else {
                            echo 'No';
                        }
                        ?>
                        <input class="t-mostrar_en_caja" type="hidden" name="estado" value="<?php echo $cantidad_x_dimension->mostrar_en_caja; ?>"/></td>
                    <td class="t-mostrar_en_caja_general" style="text-align: center;"><?php
                        if ($cantidad_x_dimension->mostrar_en_caja_general == 1) {
                            echo 'Sí';
                        } else {
                            echo 'No';
                        }
                        ?>
                        <input class="t-mostrar_en_caja_general" type="hidden" name="estado" value="<?php echo $cantidad_x_dimension->mostrar_en_caja_general; ?>"/></td>
                    <td><label class="modificar" ></label><input id="M-<?php echo $cantidad_x_dimension->id_cantidad_x_dimension; ?>" type="hidden" value="<?php echo $cantidad_x_dimension->id_cantidad_x_dimension; ?>" style="display: none;"/></td>
                    <td><label class="eliminar" ></label><input id="E-<?php echo $cantidad_x_dimension->id_cantidad_x_dimension; ?>" type="hidden" value="<?php echo $cantidad_x_dimension->id_cantidad_x_dimension; ?>" style="display: none;"/></td>
                </tr>

                <?php
                $i++;
            }
            ?>


        </table>

        <div class="cargando" style="display: none; z-index: 999;"><img src="<?php bloginfo('template_url'); ?>/images/loader.gif" alt="mensaje loader"/></div>


        <script type="text/javascript">
            jQuery("label.eliminar").click(function() {
                if (confirm('¿Esta seguro que desea eliminar este precio?')) {
                    //AJAX
                    var data = {//estos son los datos que paso por $_POST
                        action: 'eliminar_cantidad_x_dimension',
                        id_cantidad_x_dimension: jQuery(this).parent().find('input').val(),
                        id_dimension: jQuery('.dimensiones').val()
                    };

                    jQuery.ajax({
                        type: "POST",
                        url: ajax_object.ajax_url,
                        data: data,
                        beforeSend: function() {
                            cargando();
                        },
                        success: function(datos) {
                            //                alert(datos);
                            jQuery('.lista').html(datos);
                        },
                        timeout: 4000,
                        error: function() {
                            alert('No se ha podido establecer la conexión con el servidor.');
                            jQuery('.cargando').fadeOut();

                        }
                    });
                }
            });

            jQuery("label.modificar").click(function() {
                loadPopup(); // function show popup

                jQuery('.id_cantidad_x_dimension').val(jQuery(this).parent().find('input').val());
                jQuery('.producto').val(jQuery('select.productos option:selected').text());
                jQuery('.dimension').val(jQuery('select.dimensiones option:selected').text());
                jQuery('select.cantidades option[value="' + jQuery(this).parent().parent().find('.t-cantidad input').val() + '"]').attr('selected', 'true');
                jQuery('.precio').val(jQuery(this).parent().parent().find('.t-precio').text());
                jQuery('.precio_promo').val(jQuery(this).parent().parent().find('.t-precio-promo').text());
                jQuery('.detalle').val(jQuery(this).parent().parent().find('.t-detalle').text());

                var check;
                if (jQuery(this).parent().parent().find('input.t-mostrar_en_caja').val() == 1) {
                    check = true;
                } else {
                    check = false;
                }
                jQuery('.mostrar_en_caja').attr('checked', check);

                var check2;
                if (jQuery(this).parent().parent().find('input.t-mostrar_en_caja_general').val() == 1) {
                    check2 = true;
                } else {
                    check2 = false;
                }
                jQuery('.mostrar_en_caja_general').attr('checked', check2);


                jQuery('.guardar').removeAttr('disabled');
            });

            function loadPopup() {
                jQuery("#popup").fadeIn(0500); // fadein popup div
                jQuery("#backgroundPopup").fadeIn(0001);

            }

            function cargando() {

                var w, h; //varibles width y height
                w = jQuery('.tabla-precios').width();
                h = jQuery('.tabla-precios').height() - jQuery('.tabla-precios .cabeceras').height() - 4;
                //                alert(w + ' || ' + h);
                jQuery('.cargando').css({width: w, height: h, 'line-height': (h + 9) + 'px'});
                jQuery('.cargando').fadeIn();
            }


        </script>

    <?php } else { ?>

        </table>
        <div class="cargando" style="display: none; z-index: 999;"><img src="<?php bloginfo('template_url'); ?>/images/loader.gif" alt="mensaje loader"/></div>
        <p>No hay datos para mostrar.</p>
        <?php
    }
}
?>
